package br.com.bancoeXtreme.tratadoresxml;

import java.io.File;
import java.io.IOException;

import javax.swing.JFileChooser;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

/** 
 * 
 * @author Fernando, Haron e Thiago
 * @version 1.0
 * @since Release 01
*/

public class TrataLogin extends DefaultHandler {
	String tag = "";
	String dataTransacao = "";
	String tipo = "";
	String numeroAgenciaDeste = "";
	String numeroContaDeste = "";
	String senha = "";

	public TrataLogin(File file) {
		SAXParserFactory spf = SAXParserFactory.newInstance();
		SAXParser parser = null;
		
		try {
			parser = spf.newSAXParser();
			parser.parse(file,this);
			
		} catch (ParserConfigurationException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SAXException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}	
	}
	
	public void startDocument() {
		//System.out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
	}
	
	public void endDocument() {
		
		//System.out.println("</xml>");
	}
	
	public void startElement(String uri, String localName, String tag, Attributes atributos ){
		//System.out.println("<"+tag+">");
		
		this.tag = tag;
		
	}
	
	public void endElement(String uri, String localName, String tag){
		//System.out.println("</"+tag+"> ");
		this.tag = "";
		
		
	}
	
	public void characters(char ch[], int start, int lenght) {
		String tmp = new String(ch,start,lenght);
		
		if (this.tag.equals("dataTransacao")) {
			//System.out.print(tmp.trim());
			this.dataTransacao = tmp.trim();
			this.tag = "";
			tmp = "";
		} else if (this.tag.equals("tipo")) {
			//System.out.print(tmp.trim());
			this.tipo = tmp.trim();
			this.tag = "";
			tmp = "";
		} else if (this.tag.equals("numeroAgenciaDesteCliente")) {
			//System.out.print(tmp.trim());
			this.numeroAgenciaDeste = tmp.trim();
			this.tag = "";
			tmp = "";
		} else if (this.tag.equals("numeroContaDesteCliente")) {
			//System.out.print(tmp.trim());
			this.numeroContaDeste = tmp.trim();
			this.tag = "";
			tmp = "";
		} else if(this.tag.equals("senha")) {
			//System.out.print(tmp.trim());
			this.senha = tmp.trim();
			this.tag = "";
			tmp = "";
		}
			
		
		
	}
	
	public void printInfoLogin() {
		System.out.println("Tipo: "+this.tipo);
		System.out.println("Numero Agencia: "+this.numeroAgenciaDeste);
		System.out.println("Numero Conta: "+ this.numeroContaDeste);
		System.out.println("Senha: "+ this.senha);
		
	
	}
	
	 
	public String getTag() {
		return tag;
	}

	public void setTag(String tag) {
		this.tag = tag;
	}

	public String getDataTransacao() {
		return dataTransacao;
	}

	public void setDataTransacao(String dataTransacao) {
		this.dataTransacao = dataTransacao;
	}

	public String getTipo() {
		return tipo;
	}

	public void setTipo(String tipo) {
		this.tipo = tipo;
	}

	public String getNumeroAgenciaDeste() {
		return numeroAgenciaDeste;
	}

	public void setNumeroAgenciaDeste(String numeroAgenciaDeste) {
		this.numeroAgenciaDeste = numeroAgenciaDeste;
	}

	public String getNumeroContaDeste() {
		return numeroContaDeste;
	}

	public void setNumeroContaDeste(String numeroContaDeste) {
		this.numeroContaDeste = numeroContaDeste;
	}

	public String getSenha() {
		return senha;
	}

	public void setSenha(String senha) {
		this.senha = senha;
	}

	public static void main(String[] args) {
	//	File file = new File("C:/Users/thiago/Documents/Meus arquivos recebidos/Out/transacao_login_cliente.xml");
	//	TrataLogin tl = new TrataLogin(file);
	//	tl.printInfoLogin();

	}

}
